package com.teamide.util;

/**
 * ID生成工具
 *
 */
public class IDGenerateUtil {

	private static IDWorker idWorker = new IDWorker();

	/**
	 * 获取永不重复的随机数 10进制 长度19
	 * 
	 * @return 返回生成的随机数
	 */
	public static String generate() {

		return String.valueOf(generateLong());
	}

	/**
	 * 获取永不重复的随机数 10进制 长度19
	 * 
	 * @return 返回生成的随机数
	 */
	public synchronized static long generateLong() {

		return idWorker.nextId();
	}

	/**
	 * 获取永不重复的随机数 36进制 长度12
	 * 
	 * @return 返回生成的随机数
	 */
	public static String generateShort() {

		return Long.toString(generateLong(), 36);
	}

	/**
	 * 获取永不重复的随机数 2~36进制
	 * 
	 * @return 返回生成的随机数
	 */
	public static String generate(int radix) {
		if (radix < 2) {
			radix = 2;
		}
		if (radix > 36) {
			radix = 36;
		}

		return Long.toString(generateLong(), radix);
	}

}
